﻿#define _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>
//一维数组在内存中的存储
//int main()
//{
//	int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
//	int sz = sizeof(arr) / sizeof(arr[0]);//用总的空间大小/每个元素所占空间大小=元素个数
//	int i = 0;
//	for (; i < sz; i++)
//	{
//		printf("&arr[%d]=%p\n",i, &arr[i]);//%p是pointer，指针的意思
//		//打印地址
//		//每个元素的地址都相差4，说明是整型元素，并且是连续存放的
//		//数组在内存中是连续存放的
//	}
//
//	return 0;
//}
//十进制 0 - 9
//十六进制 0 - 9 A B C D E F
//
//二维数组的创建
//int main()
//{
//	//int arr[3][4] = { {1,2,3},{4,5} };//二维数组，三行四列
//	//可以看成三行一维数组拼在一起，所以存放元素的时候，也是和一维数组一样
//	//二维数组初始化时的行可以省略，列不能省略！！！！！！！！！！！！！
//	//char ch[5][6];//字符型数组
//	
//	//二维数组的使用
//	//访问具体的元素时，仍然像一维数组一样用下标访问，且从0开始
//	int arr[3][4] = { {1,2,3,4},{5,6,7},{9,10}};//偶然学到一个快捷键，ctrl+c是复制当前行
//	int i = 0;
//
//	for (i=0; i < 3; i++)
//	{
//		int j = 0;
//		for (; j < 4; j++)
//		{
//			printf("%p ",&arr[i][j]);//打印第一行，然后循环打印第二第三行
//		}//二维数组在地址中的存放也是随机开辟空间，且连续存放的
//		printf("\n");//换行打印
//		// 1 2 3 4
//		// 5 6 7 0
//		// 9 10 0 0
//		//元素不足默认0来填充
//	}
//	return 0;
// 
// 
//
//}
//int main() 
//{
	//scanf函数返回的是：实际读取到的数据的个数，如果输入两个数，则返回2
	//scanf读取失败的时候，返回的是EOF
	//EOF end of file，文件结束标志
	//EOF的本质是 -1,输入EOF，右击鼠标🖱，找到‘转到定义’四个字，即可查看
	//int iq = 0;
	//printf("输入一个整数，判断是否为天才\n");
	//while (scanf("%d", &iq) !=EOF )
	//	//或者while(scanf("%d",&iq)==1)
	//{
	//	if (iq >= 140)
	//		printf("你是天才\n");
	//}
 //}
//int main()
//{
//	int a = 40;
//	int c = 212;
//	int ret = (-8 + 22) * a - 10 + c / 2;
//	printf("%d", ((-8 + 22) * a - 10 + c / 2));
//	//或者下面写
//	printf("%d", ret);
//	return 0;
//	// '0'字符0 ，ASCII码值是48,'\0'字符串的结束标志，ASCII码值是0
//}

//定义一个函数
//int Add(int x, int y)
//{
//	return (x + y);
//}
//int main()
//{
//	int num 1 = 0;
//	int num 2 = 0;
//	int sum = 0;
//	//输入
//	scanf("%d %d", &num1, &num2);
//	//求和
//	sum = num1 + num2;
//	ret = sum(num1,num2);
//	printf("%d", sum);
//	printf("%d", ret);
// 
//
//}


//  21.09分
//++a，a++
//int main()
//{
//	int a = 100;
//	int b = a++;//后置++，先使用，后++
//	//b=a,a=a+1;
//	int b = ++a;
//	//前置++，先使用，后++
//	//a = a + 1, b = a;
//	printf("a = %d,b=%d", a, b);
//	//同时，a--和--a与上述相似
//}
// 
////强制类型转换
//int main()
//	{
//		int a = (int)3.14;
//		//(类型)--强制类型转换
//		printf("%d\n", a);
//	}
//
//关系操作符
//==是用来判断相等的
//int main()
//{
//	int a = 3;
//	if (a = 5)//赋值，无论a为何值，都会打印hehe
//	//此时编译器发出警告
//	{
//		printf("hehe\n");
//	}
//}
//	
//逻辑操作符&&，||
//&&为逻辑与，||为逻辑或
//比如，今天我和小明要去办公室帮老师端茶倒水，这是逻辑与，并且的意思
//今天我或者小明要去办公室帮老师倒水，这是逻辑或，其中一个取就行
//int main()
//{
//	&&同时为真才为真，||其中一个为真则为真，同时为假，||才为假
//	int a = 3;//!=，为真
//	int b = 5;//!=,也为真
//	if (a && b)//成立
//		printf("hehe");
//	int age = 20;
//	if (age >= 18 && age <= 36)
//	{
//		printf("青年\n");
//	int age = 2;
//	if (18<=age<=36)//仍然打印青年，但是这样写是错误的
//	{
//		printf("青年\n");
//	}
//}
// 
// 
//条件操作符，（exp1？exp2：exp3）
//         m = ( a > b ? a: b)
//exp1成立，执行表达式2，否则执行exp3
//int main()
//{
//	int a = 0;
//	int b = 0;
//	int m = 0;
//	scanf("%d %d", &a, &b);
//	//if (a > b)
//	//	m = a;
//	//else
//	//	m = b;
//	//printf("%d", m);
//	m = (a > b ? a : b);//只适用于简单的代码
//	printf("%d", m);
//}
//
//常见关键字，变量名不能使用关键字，关键字是本身预先设定好的，用户不能自己创建变量名
//
//signed,有符号的，正负号这种
//unsigned，无符号的，比如年龄
//continue，default，do...while，double，if else，enum（枚举）
//union（联合体）struct（结构体）extern（声明外部符号）float（循环）
//goto
//register（寄存器）
//return
//sizeof，计算所占内存关键字
//static静态的
//
//#include <stdio.h>
//
//int main() {
//	int n = 0;
//	int m = 0;
//	while ((scanf("%d %d", &n, &m)) != EOF)
//	{
//		if (n == m)
//			printf("%d=%d\n", n, m);
//		else if (n > m)
//			printf("%d>%d\n", n, m);
//		else if (n < m)
//			printf("%d<%d\n", n, m);
//	}
//	return 0;
//}
//#include <stdio.h>
//
//int main() {
//	int a = 0;
//
//	while (scanf("%d", &a) != EOF) { // 注意 while 处理多个 case
//		if (a % 2 == 0)
//			printf("Even\n");
//		else
//			printf("Odd\n");
//
//	}
//
//	return 0;
//}
//#include <stdio.h>
//
//int max(int a, int b)
//{
//	if (a > b)
//		return a;
//	if (a < b)
//		return b;
//}
//int main()
//{
//	int a = 0;
//	int b = 0;
//	int ret = 0;
//	while ((scanf("%d%d", &a, &b)!=EOF ))
//	{
//		 ret = max(a, b);
//		 printf("%d\n", ret);
//	}
//
//}
//#include <stdio.h>
//
//int main() {
//	int a = 0;
//	while ((scanf("%d", &a))) {
//		if (a >= 90 && a <= 100) {
//			printf("Perfect\n");
//
//		}
//	}
//	return 0;
//}
//# define pi 3.14
//int main()
//{
//	int r=0; float area=0.0;
//	for (r = 1; r <= 10; r++)
//	{
//		area = pi * r * r;
//		if(area>100)
//		break;
//	}
//	printf("%d", r);
//}
//int main()
//{
//	int i = 0;
//	for (i = 1; i <= 10; i++)
//	{
//		if (i % 5 == 0)
//			continue;//continue被执行时，直接跳过continue下面的语句
//		printf("%d ", i);
//	}
//}
//判断左右括号是否配对
//int main()
//{
//	int i = 0;
//	int j = 0;
//	char ch;
//	while ( (ch = getchar()) !='\n')
//	{
//		if (ch == '(' )
//			i++;
//		if (ch == ')')
//			j++;
//			if (i < j)
//			break;
//	}
//	if (i == j)
//		printf("已配对\n");
//	else
//		printf("失败\n");
//}
//int main()
//{
//	
//	int i = 100;
//	int j = 0,k = 0, g = 0;
//		for (i=100; i <= 999; i++)
//		{
//			j = i / 100%10;
//			k = i / 10%10;
//			g = i % 10;
//			if (j * j * j + k * k * k + g * g * g == i)
//				printf("%d\n",i);
//		}
//	}
//int main()
//{
//	char c[10]  ;
//	int n = 0;
//	int i = 0;
//	scanf("%s", c);
//	for (i = 0; i < 10; i++)
//	{
//		printf("%s\n", c);
//	}
//}
//int main()
//{
//	int i = 0;
//	int j = 0;
//	int n = 0;
//	int k = 0;
//	scanf("%d", &n);
//	for (i = 1; i <= n; i++)
//	{
//		for (j = 0; j <= 2 * i - 1; j++)
//		{
//			printf("*");
//
//		}
//		printf("\n");
//	}
//	for (i = n- 1; i >= 1; i--)
//	{
//		for (j = 0; j <= 2 * i - 1; j++)
//		{
//			printf("*");
//		}
//		printf("\n");
//	}
//}
//打印九九乘法表
//int main()
//{
//	int i = 0;
//	int j = 0;
//	for (i = 1; i <+ 9; i++)//控制行数
//	{
//		for (j = 1; j <= i; j++)//控制列数
//		{
//			printf("%d*%d=%-2d ", j, i, i * j);//负号表示向左对齐，2表示对齐两格，如果删去负号，就向右对齐两格
//		}
//		printf("\n");
//	}
//}

//sizeof是操作符，计算变量所占内存空间的大小，单位是字节，只看空间，压根儿不看\0
//strlen是库函数，是计算字符串的长度的，统计的是字符串中\0之前出现的字符个数
//int main()
//{
//	int a = 10;
//	float f = 5.5f;
//	printf("%d\n", sizeof(a));//4
//	printf("%d\n", sizeof(int));//4
//	//可以写变量名，也可以写变量名所属的类型
//	printf("%d\n", sizeof(f));//4
//	printf("%d\n", sizeof(float));//4
//
//}
//请在下方完整写出自己的代码
//注意看左侧提示信息，输入输出要求，不要有多余的输入输出
//#include<stdio.h>
//int main()
//{
//    float a = 0.0, b = 0.0;
//    char op;
//    float sum = 0.0;
//    while (scanf("%d%c%d", &a, &op, &b) != EOF)
//    {
//        switch (op)
//        {
//        case '+':
//            sum = a + b;
//            printf("%.2f", sum);
//            break;
//        case '-':
//            sum = a - b;
//            printf("%.2f", sum);
//            break;
//
//        case '*':
//            sum = a * b;
//            printf("%.2f", sum);
//            break;
//        case '/':
//            if (b == 0)
//                printf("除数不能为0\n");
//            else
//                sum = a / b;
//            printf("%.2f", sum);
//            break;
//        default:
//            printf("运算符有误\n");
//            break;
//        }//请在下方完整写出自己的代码
////注意看左侧提示信息，输入输出要求，不要有多余的输入输出
//#include<stdio.h>
//        int main()
//        {
//            float a=0.00;
//            float b=0.00 ;
//            char op;
//            float sum = 0.00;
//            scanf("%f%c%f", &a, &op, &b);
//            switch (op)
//            {
//            case '+':
//                sum = a + b;
//                printf("%.2f", sum);
//                break;
//            case '-':
//                sum = a - b;
//                printf("%.2f", sum);
//                break;
//            case '*':
//                sum = a * b;
//                printf("%.2f", sum);
//                break;
//            case '/':
//                if (b == 0)
//                    printf("除数不能为0\n");
//                else if (b != 0)
//                {
//                    sum = a / b;
//                    printf("%.2f", sum);
//                    break;
//                }
//            default:
//            {
//                if(op != '+'&&op!='-'&&op!='*'&&op!='/')
//                printf("运算符有误\n");
//                break;
//            }
//            }
//            return 0;
//        }
//#include <stdio.h>
//int  main()
//{
//	int a = 0; int b = 0;
//	int sum = 0;
//	scanf("%d%d", &a, &b);
//	sum = a + b;
//	printf("sum=%d\n", sum);
//	return 0;
//}
//#include <stdio.h>
//int  main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d%d", &a, &b);
//
//	if (a == b)
//	{
//		printf("a和b相等\n");
//	}
//	else
//		return 0;
//}
//文末总结，一维数组，二维数组的概念理解和初步使用，还有sizeof，strlen 的区别






